#ifndef _GameComponent_h_
#define _GameComponent_h_

#include <string>
using namespace std;

class GameComponent {
	public:
		virtual void start ();
		virtual void stop  ();
		
		void switch_to (const string& gameComponentId);

		void registerComponent(const string& id);

		void setId (const string& id) {
			id_ = string(id);
		}

		const string& getId () {
			return id_;
		}

		virtual ~GameComponent () {}

	protected:
		GameComponent () {}

	private:
		string id_;

};

#endif

